/*
 * ServicoPapelLocal.java
 *
 * Created on 19 de Setembro de 2007, 11:27
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package br.com.sgpa.servico;

import br.com.sgpa.dominio.Papel;
import br.com.sgpa.persistencia.Dao;
import br.com.sgpa.persistencia.DaoFactory;
import br.com.sgpa.persistencia.PapelDao;
import java.util.List;

/**
 *
 * @author agalrmo
 */
public class ServicoPapelLocal implements ServicoPapel  {
    private DaoFactory fabricaDePersistencia = new DaoFactory();
    
    /** Creates a new instance of ServicoPapelLocal */
    public ServicoPapelLocal() {
    }
    
    public Papel carregarColaborador(Papel papel) {
        Papel pap;
        PapelDao papelDao;
        papelDao = fabricaDePersistencia.criarDaoPapel();
        pap = (Papel) papelDao.consultarPorId(papel.getId());
        return pap ;
    }
    
    public void criarPapel(Papel papel) {
        fabricaDePersistencia.beginTransaction();
        PapelDao papelDao;
        papelDao = fabricaDePersistencia.criarDaoPapel();
        papelDao.inserir(papel);
        fabricaDePersistencia.commit();
    }
    
    public void excluirPapel(Papel papel) {
        fabricaDePersistencia.beginTransaction();
        PapelDao papelDao;
        papelDao = fabricaDePersistencia.criarDaoPapel();
        papelDao.excluir(papel);
        fabricaDePersistencia.commit();
    }
    
    public void salvarPapel(Papel papel) {
        fabricaDePersistencia.beginTransaction();
        PapelDao papelDao;
        papelDao = fabricaDePersistencia.criarDaoPapel();
        papelDao.alterar(papel);
        fabricaDePersistencia.commit();
    }
    
    public List<Papel> listarPapel(String descricao) {
        PapelDao papelDao;
        papelDao = fabricaDePersistencia.criarDaoPapel();
        return papelDao.listar(descricao);
    }
    public Papel consultarPapel(String descricao){
        PapelDao papelDao;
        papelDao = fabricaDePersistencia.criarDaoPapel();
        return papelDao.consultarPorDescricao(descricao);
    }
}
